//
//  BLTimeAxisAppearanceRecgnizer.h
//  BLTimeAxis
//
//  Created by dg on 2025/4/18.
//

#import <Foundation/Foundation.h>
#import "BLTimeAxisVisitor.h"
#import "BLTimeAxisAppearance.h"

NS_ASSUME_NONNULL_BEGIN
/**
 获取设置数据
 */

@interface BLTimeAxisAppearanceRecognizer : NSObject<BLTimeAxisVisitor>

@property(nonatomic, assign) CGSize viewSize;

- (instancetype)initWithViewSize:(CGSize)viewSize appearance:(BLTimeAxisAppearance *)appearance;

/// 通用绘制方法
- (void)visitTimeAxis:(id<BLTimeAxisComponent>)aTimeAxis;
/// 绘制数据
- (void)visitTimeAxisData:(BLTimeAxisData *)aTimeAxisData;
/// 绘制刻度线
- (void)visitTimeAxisRule:(BLTimeAxisRule *)aTimeAxisRule;
/// 绘制基线
- (void)visitTimeAxisBaseLine:(BLTimeAxisBaseLine *)aTimeAxisBaseLine;
/// 绘制数字与分割线
- (void)visitTimeAxisDigitalDivision:(BLTimeAxisDigitalDivision *)aTimeAxisDigitalDivision;
/// 绘制背景
- (void)visitTimeAxisBackground:(BLTimeAxisBackground *)aTimeAxisBackground;

@end

NS_ASSUME_NONNULL_END
